#ifndef COREEXTRACT_H
#define COREEXTRACT_H

#include <QList> //提供动态数组容器QList,存储和管理元素列表
#include <QPair> //定义了成对数据结构，存储两个不同类型的值
#include <QPoint>
#include <QRect>

class CoreExtract
{
public:
    // 核心方法声明
    static QList<QRect> getRects(const QList<QPair<QPoint, QPoint>>& line_point_list);



private:
    // 判断线段是否为水平线段（平行于 x 轴）
    static bool isHorizontal(const QPair<QPoint, QPoint>& line);
    // 判断线段是否为垂直线段（平行于 y 轴）
    static bool isVertical(const QPair<QPoint, QPoint>& line);
    // 计算水平与垂直线段的交点
    static QPoint intersect(const QPair<QPoint, QPoint>& horizontalLine, const QPair<QPoint, QPoint>& verticalLine);
};

#endif // COREEXTRACT_H
